import { create } from 'zustand';

/** 权限状态接口 */
interface AuthState {
    isLogin: boolean;
    token: string | null;
    // 登录（存储token）
    login: (token: string) => void;
    // 退出登录（清除token）
    logout: () => void;
}

/** 权限Hook（全局共享登录状态） */
export const useAuth = create<AuthState>((set: any) => ({
    isLogin: !!localStorage.getItem('token'),
    token: localStorage.getItem('token'),
    login: (token: any) => {
        localStorage.setItem('token', token);
        set({ isLogin: true, token });
    },
    logout: () => {
        localStorage.removeItem('token');
        set({ isLogin: false, token: null });
    },
}));
